import java.util.ArrayList;
import java.util.Iterator;

public class Main {

    public static void main(String[] args) throws Exception {
//       MyArrayList list = new MyArrayList();
//        MyLikeList list = new MyLikeList();
//       list.add(3);
//       list.add(7);
//       list.add(38);
//       list.add(-1);
//       list.add(4);
//       list.add(6);
//       list.add(3);
//       list.add(33);
//       list.set(0,7);
//       list.set(1,3);
//       list.removeAt(1);
//       list.removeAt(1);
//       list.removeAt(1);
//       list.clear();


//        MyStack stack = new MyStack();
//        stack.push(3);
//        stack.push(7);
//        stack.push(7);
//        stack.push(4);
//        stack.pop();
//        stack.pop();
//
//        MyQueue queue = new MyQueue();
//        queue.queuePush(3);
//        queue.queuePush(7);
//        queue.queuePush(7);
//        queue.queuePush(5);
//        queue.queuePop();
//        queue.queuePop();
//        queue.queuePop();
//        for (int i = 0; i < queue.size(); i++) {
//            System.out.println(queue.get(i));
//        }

        ArrayList<String> list = new ArrayList<String>();
        list.add("1");
        list.add("2");
        list.add("7");
        list.add("5");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
            iterator.remove();
        }
        System.out.println("size:"+list.size());

//        for (String str: list
//             ) {
//            System.out.println(str);
//            list.remove(str);  //不能在forEach中一边遍历一边删除，会报ConcurrentModificationException
//        }
    }
}
